Technote 1129
LaserWriter 8.5.1: The Settings Library
ñ⁄éü
SettingsLib
ÇΔ PrintingLib
SettingsLib
ÉCÉìÉ^ÉtÉFÅ[ÉX
ägí£ 'PAPA' ÇΔ
SettingsLib
óvñÒ
éQçlï∂å£
|
ÉvÉäÉìÉ^ê›íËÉâÉCÉuÉâÉä
(SettingsLib) ÇÕ LaserWriter 8.5.1
Ç≈ì±ì¸Ç≥ÇÍNjǵÇΩÅBDZÇÍÇégǧÇΔÅAÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇçÏê¨ÇµÇΩÇΔÇ´Ç…
LaserWriter 8
Ç™çÏê¨Ç∑ÇÈèÓïÒÇ…ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁÉAÉNÉZÉXǵÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBSettingsLib
ÇÕÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃàŸÇ»ÇÈïîï™ÅAàŸÇ»ÇÈÉvÉäÉìÉ^ÉhÉâÉCÉoÇΔÉfÉXÉNÉgÉbÉvÉvÉäÉìÉgÉÇÉjÉ^ǻǫÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉNÉâÉCÉAÉìÉgä‘Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃè’ìÀÇñhǨNjÇ∑ÅBÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÕÅALaserWriter
8
ÇÃÉvÉäÉtÉ@ÉåÉìÉXÉtÉ@ÉCÉãÇ…ï€ë∂Ç≥ÇÍǃǢNjÇ∑ÅBSettingsLib
ÇÕÅALaserWriter 8 ÇÃ 'PAPA'
ÉäÉ\Å[ÉXå`éÆÇ…àÀë∂Ç∑ÇÈè]óàÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ì¡Ç…óLå¯Ç≈Ç∑ÅBLaserWriter
8.5.1 Ç™ì±ì¸Ç≥ÇÍǃÅA'PAPA'
ÉäÉ\Å[ÉXÇÃÉTÉCÉYÇ™ïœÇÌÇËÅAÉTÉCÉYÇ…àÀë∂Ç∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕìÆçÏǵǻÇ≠Ç»ÇËNjǵÇΩÅBÉäÉ\Å[ÉXÉTÉCÉYÇÕÅAç°å„LJïœÇÌÇÈâ¬î\ê´Ç™Ç†ÇÈÇÃÇ≈ÅAÉAÉbÉvÉãÇÕDZÇÃñ‚ëËÇâÒîÇ∑ÇÈÇΩÇflÇ…
SettingsLib Çì±ì¸ÇµÇ‹ÇµÇΩÅBDZÇà TECHNOTE Ç≈ÇÕ
SettingsLib API ÇÃäTóvDžǬǢǃê‡ñæÇµÇ‹Ç∑ÅB
|
SettingsLib ÇΔ
PrintingLib
SettingsLib ÇÕ PrintingLib
ÉtÉ@ÉCÉãÇ…ä‹Ç‹ÇÍÇÈÉRÅ[ÉhÉtÉâÉOÉÅÉìÉgÇ≈Ç∑ÅBSettingsLib
ÇÕÅAPrintingLib ì‡ÇÃëºÇÃÉRÅ[ÉhÉtÉâÉOÉÅÉìÉgÇΔ LaserWriter 8
Ç™ÅAï€ë∂Ç≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÇ…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…égópǵNjÇ∑ÅBSettingsLib
API Ç…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…ÇÕÅAPrintingLib
ÇΔÉäÉìÉNÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB
Å@
SettingsLib
ÉCÉìÉ^ÉtÉFÅ[ÉX
ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃè’ìÀÇîÇØÇÈÇΩÇflÇ…ÅAÉNÉâÉCÉAÉìÉgÇÕåàǵǃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇäJǢǃÇÕÇ»ÇËÇ‹ÇπÇÒÅBë„ÇÌÇËÇ…ÅADZÇÃÉZÉNÉVÉáÉìÇÃÉãÅ[É`ÉìÇégǡǃÅAå¬ÅXÇÃÉvÉäÉìÉ^èÓïÒÇÃÉRÉåÉNÉVÉáÉìÇéÊìæÇµÅAèáÇ…ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÉGÉìÉgÉäÇí≤Ç◊ǃÇ≠ÇæÇ≥Ç¢ÅB
Å@
psGetPrintingPrefsFolder
SettingsLib
ÉCÉìÉ^ÉtÉFÅ[ÉXÇÃê≥ǵǢégÇ¢ï˚ÇΔǵǃÅAÉNÉâÉCÉAÉìÉgÇÕÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÉtÉ@ÉCÉãñºÇÃÇ›Ç≈ï\ǵNjÇ∑ÅBSettingsLib
ÇÕÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃdžÇÈÉ{ÉäÉÖÅ[ÉÄÇΔÉtÉHÉãÉ_ÇÕÇÌǩǡǃǢNjÇ∑ÇÃÇ≈ÅAå¬ÅXÇÃÉfÅ[É^ÉxÅ[ÉXÇÕñºëOÇ≈ì¡íËÇ≈Ç´Ç‹Ç∑ÅBåªç›ÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÕÅgÉVÉXÉeÉÄê›íËÅhÉtÉHÉãÉ_ì‡ÇÃÅgàÛç¸ê›íËÅhÉtÉHÉãÉ_Ç…ì¸Ç¡ÇƒÇ¢Ç‹Ç∑ÅBÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃdžÇÈÉtÉHÉãÉ_ÇÃà íuÇéÊìæÇ∑ÇÈÇ…ÇÕÅApsGetPrintingPrefsFolder()
ÇégópǵǃÇ≠ÇæÇ≥Ç¢ÅBDZÇà API
ÇÕÅAÉvÉäÉìÉgä÷òAÇÃÉfÅ[É^ÇÃèÍèäÇímÇËÇΩÇ¢èÍçáDžLJégǢNjÇ∑ÅB
OSStatus
psGetPrintingPrefsFolder(short *vRef, long
*folderId);
DZÇÃä÷êîÇÕÅAåªç›ÇÃÉVÉXÉeÉÄÇÃàÛç¸ê›íËÉtÉHÉãÉ_ÇíTǵÅAïKóvÇ»èÍçáÇÕçÏê¨ÇµÇ‹Ç∑ÅBä÷êîÇÃñflÇËÇ≈ÅAàÛç¸ê›íËÉtÉHÉãÉ_ÇÃÉ{ÉäÉÖÅ[ÉÄÇ
*vRef Ç…ÅAÉfÉBÉåÉNÉgÉä ID Ç *folderId
Ç…ê›íËǵNjÇ∑ÅBÉtÉHÉãÉ_Ç™ë∂ç›ÇπÇ∏ÅAçÏê¨Ç∑ÇÈDZÇΔLJÇ≈Ç´Ç»ÇØÇÍÇŒÅAÉGÉâÅ[Çï‘ǵNjÇ∑ÅB
Å@
psGetPrefsPrinterInfo
ÉNÉâÉCÉAÉìÉgÇÕÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXñºÇΔì¡íËÇÃÉvÉäÉìÉ^ÇÃ
'PAPA' ÉnÉìÉhÉãÇ™ÇÌÇ©ÇÍÇŒÅApsGetPrefsPrinterInfo()
ÇégǡǃǪÇÃÉvÉäÉìÉ^ÇÃèÓïÒÇ™ì¸Ç¡ÇƒÇ¢ÇÈÉRÉåÉNÉVÉáÉìÇéÊìæÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉRÉåÉNÉVÉáÉìì‡ÇÃå¬ÅXÇÃçÄñ⁄Ç…ÇÕÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇégǡǃÉAÉNÉZÉXÇ≈Ç´Ç‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇÃ
DisposeCollection()
Ç≈ÉRÉåÉNÉVÉáÉìÇîjä¸ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇÃè⁄ç◊DžǬǢǃÇÕÅAÅwInside
Macintosh: QuickDraw GX Environment and
UtilitiesÅxÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
Collection
psGetPrefsPrinterInfo(StringPtr prefsName, Handle
papa);
'PAPA'
Ç≈éwíËǵÇΩÉvÉäÉìÉ^DžǬǢǃÇÃèÓïÒÇä‹ÇfiÉRÉåÉNÉVÉáÉìÇï‘ǵNjÇ∑ÅBèÓïÒÇÕÅAprefsName
Ç≈ñºëOÇ™éwíËÇ≥ÇÍÇΩàÛç¸ê›íËÉtÉ@ÉCÉãÇ©ÇÁéÊìæÇµÇ‹Ç∑ÅBÉRÉåÉNÉVÉáÉìÇ™éÊìæÇ≈ǴǻǢèÍçáÇÕÅANULL
Çï‘ǵNjÇ∑ÅB
ÉtÉ@ÉCÉãñºÇÕÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇì¡íËǵNjÇ∑Ç™ÅA'PAPA'
Çä‹ÇfiÉnÉìÉhÉãÇÕÉfÅ[É^ÉxÅ[ÉXì‡ÇÃå¬ÅXÇÃÉvÉäÉìÉ^Çì¡íËǵNjÇ∑ÅB'PAPA'
ÇÕÅA3 ǬÇà Pascal
ï∂éöóÒÇë©ÇÀÇΩLJÇÃÇ…ÅAì¡íËÇÃÉvÉäÉìÉ^Ç…å≈óLÇ»í êMï˚ñ@Çï\Ç∑ÉfÅ[É^Ç™ë±Ç¢ÇΩLJÇÃÇ≈Ç∑íç1ÅBDZÇÃÇΩÇflÅASettingsLib
ÇÕ 3
ǬÇÃÉpÉXÉJÉãï∂éöóÒÇ…ë±Ç≠ÉfÅ[É^ÇÕâéflǵNjÇπÇÒÅBì‡óeÇÕÉNÉâÉCÉAÉìÉgÇ™åàíËǵNjÇ∑ÅB(*1)
'PAPA' ÇÃêÊì™Çà 3 ǬÇà Pascal
ï∂éöóÒÇÕÅAÉvÉäÉìÉ^ñºÅAÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgÉ^ÉCÉvÅAÉvÉäÉìÉ^ÇÃÉ]Å[ÉìñºÇ≈Ç∑ÅBDZÇÍÇÁÇÃ
3
ǬÇÃï∂éöóÒÇÕì¡íËÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉGÉìÉgÉäÇéØï ǵNjÇ∑ÅBǬNjÇËÉfÅ[É^ÉxÅ[ÉXÇÃÉLÅ[Ç…Ç»ÇËÇ‹Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅATECHNOTE
1115ÅuLaserWriter 8.5.1: ägí£ 'PAPA'
ÉäÉ\Å[ÉXÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
Å@
psUpdatePrefsPrinterInfo ÇΔ psRemovePrefsPrinterInfo
ÉNÉâÉCÉAÉìÉgÇ™ì¡íËÇÃÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈÉRÉåÉNÉVÉáÉìÇéÊìæÇµÇΩÇÁÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇégǡǃǪÇÃÉvÉäÉìÉ^èÓïÒÇí«â¡ÅAçÌèúÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕïKóvÇ»ïœçXÇçsÇ¡ÇΩÇÁÅApsUpdatePrefsPrinterInfo()
Ç≈ÅAéwíËÇÃÉvÉäÉìÉ^ÇÃä˘ë∂ÇÃÉRÉåÉNÉVÉáÉìÇêVǵǢÉRÉåÉNÉVÉáÉìÇ≈íuÇ´ä∑ǶNjÇ∑ÅBpsUpdatePrefsPrinterInfo()
ÇåƒÇ—èoǵÇΩèÍçáÇ≈LJÅAÉRÉåÉNÉVÉáÉìÇîjä¸Ç∑ÇÈÇÃÇÕÉNÉâÉCÉAÉìÉgÇÃññ⁄Ç≈Ç∑ÅBÉfÅ[É^ÉxÅ[ÉXÇ©ÇÁÉvÉäÉìÉ^ÇäÆëSÇ…éÊÇËèúÇ≠Ç…ÇÕÅApsRemovePrefsPrinterInfo()
ÇégópǵNjÇ∑ÅB
OSErr
psUpdatePrefsPrinterInfo(StringPtr prefsName, Handle papa,
Collection prInfo);
ÉRÉåÉNÉVÉáÉì prInfo ì‡ÇÃÅAPAPA Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÇ
prefsName ÇΔǢǧñºëOÇÃê›íËÉfÅ[É^ÉxÅ[ÉXÇ…ï€ë∂ǵNjÇ∑ÅBPAPA
Ç≈éwíËǵÇΩÉvÉäÉìÉ^ÇÃÇ∑Ç◊ǃÇÃèÓïÒÇ™ prInfo
ÇÃèÓïÒÇ≈íuÇ´ä∑ǶÇÁÇÍÇ‹Ç∑ÅB
OSErr
psRemovePrefsPrinterInfo(StringPtr prefsName, Handle papa,
Collection prInfo);
PAPA Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÇÃÇ∑Ç◊ǃÇÃèÓïÒÇ prefsName
ÇΔǢǧàÛç¸ê›íËÉtÉ@ÉCÉãÇ©ÇÁéÊÇËèúÇ´Ç‹Ç∑ÅBPAPA Ç™ NULL
ÇÃèÍçáÅAprInfo
ÇÉvÉäÉìÉ^ñºÇÃÉqÉìÉgÇΔǵǃåüçıǵÅAê›íËÉfÅ[É^ÉxÅ[ÉXÇ©ÇÁçÌèúÇ∑ÇÈÉGÉìÉgÉäÇëIëÇ∑ÇÈÇÃÇ…égǢNjÇ∑ÅB
ÉfÉxÉçÉbÉpÇ™å≈óLÇÃÉfÅ[É^Çí«â¡Ç∑ÇÈèÍçáÇÕÅA'APPL'
ÇΔìoò^é“ÇÃÉNÉäÉGÅ[É^É^ÉCÉvÇï\Ç∑ ID
ÇéwíËÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅBó·Ç¶ÇŒÅAAdobe Acrobat
Ç™å≈óLÉfÅ[É^Çï€ë∂Ç∑ÇÈèÍçáÇÕÅAÉ^ÉOÇ 'APPL'ÅAID Ç 'CARO'
DžǵNjÇ∑ÅBDZÇÃÇÊǧDžÅAäeÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉXÉçÉbÉgÇ
1
Ç¬ÇæÇØégópǵNjÇ∑ÅBÇ≥ÇÁÇ…ÅAÉXÉçÉbÉgÇ…ï€ë∂Ç∑ÇÈÉfÅ[É^ÇÕÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉìDžǵÅAǪÇÃíÜÇ≈îCà”ÇÃÉ^ÉOÇΔ
ID ÇégópÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅB
Å@
#define kHintAppPrivateTag APPL
#define kHintAppPrivateId // ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉNÉäÉGÅ[É^É^ÉCÉv
#define kHintAppPrivateVar // ÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉì
íçà”:
ÉAÉbÉvÉãÇÕ 'APPL'
Çó\ñÒǵǃǮÇËÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ‚ÉhÉâÉCÉoÇ≈ÇÕǻǢÉvÉçÉOÉâÉÄÇ™ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ‚ëºÇÃ
PrintingLib
ÉRÉåÉNÉVÉáÉìÇ…èÓïÒÇï€ë∂Ç≈Ç´ÇÈÇÊǧDžǵǃǢNjÇ∑ÅBÉhÉâÉCÉoÇ≈ǻǢÉvÉçÉOÉâÉÄÇÕÅAìoò^çœÇ›ÇÃÉNÉäÉGÅ[É^É^ÉCÉvÇÉfÅ[É^ÇÃ
ID
ÇΔǵǃéwíËǵǃÇ≠ÇæÇ≥Ç¢ÅBÉfÅ[É^ÇÃì‡óeÇÕÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉìÇ≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
|
Å@
psCountPrefsPrinters Ç®ÇÊÇ— psGetPrefsIndName
ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÇ∑Ç◊ǃóÒãìÇ∑ÇÈïKóvǙdžÇÈèÍçáÅAÉNÉâÉCÉAÉìÉgÇÕÇ‹Ç∏
psCountPrefsPrinters()
ÇåƒÇ—èoǵǃÅAÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÃë‰êîÇí≤Ç◊Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉvÉäÉìÉ^ÇÃëçêîÇ™ÇÌǩǡÇΩÇÁÅApsGetPrefsIndName()
Ç…ÉCÉìÉfÉbÉNÉXÇ 1 Ç©ÇÁÉvÉäÉìÉ^ÇÃëçêîÇ‹Ç≈ (ëçêîLJä‹Çfi)
éwíËǵǃÅAÉvÉäÉìÉ^ÇóÒãìÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsGetPrefsIndName()
ÇÕÅAÉCÉìÉfÉbÉNÉXÇ≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÉRÉåÉNÉVÉáÉìÇ©ÇÁÉvÉäÉìÉ^ñºÇΔÉ]Å[ÉìñºÇï‘ǵNjÇ∑íç2ÅB
long psCountPrefsPrinters(StringPtr
prefsName);
prefsName
Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÃë‰êîÇï‘ǵNjÇ∑ÅB
OSErr psGetPrefsIndName(StringPtr
prefsName, long index, StringPtr name, StringPtr
zone);
psGetPrefsIndName() ÇÕÅAprefsName
Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^èÓïÒÉRÉåÉNÉVÉáÉìÇóÒãìǵNjÇ∑ÅBÉCÉìÉfÉbÉNÉXÇÕ
1 Ç©ÇÁ psCountPrefsPrinters() Ç™ï‘Ç∑íl (ǪÇÃílÇä‹Çfi)
Ç‹Ç≈Ç≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBäeÉCÉìÉfÉbÉNÉXDžǬǢǃÅAä÷êîÇÕ
name Ç…ÉvÉäÉìÉ^ñºÇ zone
Ç…ÉvÉäÉìÉ^É]Å[ÉìÇï‘ǵNjÇ∑ÅBä÷êîÇåƒÇ—èoÇ∑ÇΔÇ´Ç…ÇÕÅAname ÇΔ
zone ÇÕè≠Ç»Ç≠ÇΔLJ Str32
å^ÇÃï∂éöîzóÒÇéwÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕï‘Ç≥ÇÍÇΩ
name ÇΔ zone Ç≈ÅAëºÇà SettingsLib ÉãÅ[É`ÉìÇ…ìnÇ∑ 'PAPA'
Çç\ízǵNjÇ∑ÅB
Å@
ägí£ 'PAPA' ÇΔ SettingsLib
PrintingLib 8.5.1 ÇÕÅATECHNOTE
1115ÅuLaserWriter 8.5.1: ägí£ 'PAPA'
ÉäÉ\Å[ÉXÅvÇ≈ê‡ñæÇ≥ÇÍǃǢÇÈägí£ 'PAPA'
ÉåÉRÅ[ÉhÇÃégópÇÉTÉ|Å[ÉgǵNjÇ∑ÅBägí£ 'PAPA'
ÉtÉHÅ[É}ÉbÉgÇíºê⁄àµÇÌÇ»ÇØÇÍnjǻÇÁǻǢÉNÉâÉCÉAÉìÉgÇÃêîÇå∏ÇÁÇ∑ÇΩÇflÅASettingsLib
ÇÕägí£ 'PAPA' ÉnÉìÉhÉãÇÃçÏê¨ÇΔ 'PAPA'
ì‡ÇÃÉ^ÉOïtÇ´ÇÃílÇÃê›íËÇΔéQèΔÇÃÇΩÇflÇÃÉãÅ[É`ÉìÇíÒãüǵNjÇ∑ÅBDZÇÃÉZÉNÉVÉáÉìÇ≈ÇÕÅAǪÇÃÇΩÇflÇÃ
API Çê‡ñæÇµÇ‹Ç∑ÅB
psSetPapPapaÅApsSetInfraredPapaÅApsSetFilePapaÅApsSetHoldPapaÅApsSetLprPapaÅApsSetCustomPapa
êVǵǢägí£ 'PAPA' ÉåÉRÅ[ÉhÇçÏê¨Ç∑ÇÈÇΩÇflÇ…ÇÕÅASettingsLib
ÉNÉâÉCÉAÉìÉgÇÕ NewHandle()
Ç≈êVǵǢÉåÉRÅ[ÉhÇäÑÇËìñǃÅAǪÇÃÉnÉìÉhÉãÇΔ PAP
ÉvÉäÉìÉ^ñºÅAÉIÉuÉWÉFÉNÉgÉ^ÉCÉvÅAÉ]Å[ÉìÅAÉIÉvÉVÉáÉìÇ≈
AppleTalk ÇÃÉAÉhÉåÉXÉuÉçÉbÉNÇäeéÌ psSetXXXPapa()
ÉãÅ[É`ÉìÇ…ìnǵNjÇ∑ÅBÉÅÉÇÉäÉuÉçÉbÉNÇ…ÇÕǪÇÃÉvÉäÉìÉ^ÇÃägí£
'PAPA' ÉåÉRÅ[ÉhÇ™ê›íËÇ≥ÇÍÇ‹Ç∑ÅB
OSStatus psSetPapPapa(Handle papaH,
const Byte * printer, const Byte * atType, const Byte *
zone, AddrBlock *addr);
DZÇÃä÷êîÇÕÅAAppleTalk Çà PAP ÉvÉäÉìÉ^ÇÃñºëO (printer
Ç™éwÇ∑íl)ÅAAppleTalk ÉfÉoÉCÉXÉ^ÉCÉv (atType)ÅAAppleTalk
É]Å[Éì (zone) Ç™éwíËÇ≥ÇÍÇÈÇΔÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉuÉçÉbÉNÇ… 'PAPA' Çç\ízǵNjÇ∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅBaddr
ÇÕ AppleTalk
ÉAÉhÉåÉXÉuÉçÉbÉNÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBä÷êîåƒÇ—èoǵéûì_Ç≈ addr Ç™
NULL Ç≈ǻǢÇΔÅA'PAPA'
ì‡ÇÃÉvÉäÉìÉ^Å{É^ÉCÉvÅ{É]Å[Éìï∂éöóÒÇÃå„ÇÎÇ…ÉAÉhÉåÉXÉuÉçÉbÉNÇÉRÉsÅ[ǵNjÇ∑ÅB
addr Ç™ NULL ÇÃèÍçáÇÕÅA'PAPA'
ì‡ÇÃÉAÉhÉåÉXÇ…É[ÉçÇê›íËǵNjÇ∑ÅB
OSStatus psSetInfraredPapa(Handle
papaH, const Byte * printer, const Byte * zone);
DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉÅÉÇÉäÇ…ê‘äOê¸ÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA'
Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone
ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB
OSStatus psSetFilePapa(Handle papaH,
const Byte * printer, const Byte * zone);
DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÅuÉtÉ@ÉCÉãÇ…ï€ë∂ÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£
'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone
ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB
OSStatus psSetHoldPapa(Handle papaH,
const Byte * printer, const Byte * zone);
DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉÅÉÇÉäÇ…Åuï€óØÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£
'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone
ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB
OSStatus psSetLprPapa(Handle papaH,
const Byte * printer, const Byte * zone, const Byte *
tcpAddr, const Byte * qName);
DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÅulprÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£
'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone
ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBtcpAddr
ÇÕ lpr ÉvÉäÉìÉ^ÇÃÉlÉbÉgÉèÅ[ÉNÉAÉhÉåÉXÇ≈Ç∑ÅB
DZÇÃÉAÉhÉåÉXÇÕÅAñºëO (ó·Ç¶ÇŒÅA\plaser.rbi.com)
Ç≈LJÉhÉbÉgÇ≈ãÊêÿÇÈå`éÆ (ó·Ç¶ÇŒÅA\p204.188.109.155)
Ç≈LJǩNjǢNjÇπÇÒÅBqName ÇÕ tcpAddr
è„ÇÃÉXÉvÅ[ÉâÇÃÉvÉäÉìÉgÉLÉÖÅ[ÇÃñºëOÇ≈Ç∑ÅBqName Ç™ NULL
ÇÃèÍçáÅAÉvÉäÉìÉ^Å^ÉXÉvÅ[ÉâÇÃÉfÉtÉHÉãÉgÉLÉÖÅ[Ç™égÇÌÇÍÇ‹Ç∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 1024 ÉoÉCÉgïKóvÇ≈Ç∑ÅB
OSStatus psSetCustomPapa(Handle
papaH, const Byte * printer, const Byte * zone);
DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÉJÉXÉ^ÉÄÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£
'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone
ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH
ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103
ÉoÉCÉgïKóvÇ≈Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅATECHNOTE
1113ÅuÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉYÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
Å@
psPapaToCollection Ç®ÇÊÇ— psCollectionToPapa
ÉNÉâÉCÉAÉìÉgÇÕÅAägí£ 'PAPA'
ÉåÉRÅ[ÉhÇ÷ÇÃÉnÉìÉhÉãÇéÊìæÇ∑ÇÈÇΔÅApsPapaToCollection() ÇΔ
psCollectionToPapa() ÉãÅ[É`ÉìÇ≈ÅAägí£ 'PAPA'
É^ÉOÉuÉçÉbÉNÇ÷ÉAÉNÉZÉXÇΔê›íËÇçsǧDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsPapaToCollection()
ÉãÅ[É`ÉìÇÕägí£ 'PAPA'
ÉåÉRÅ[ÉhÇΔÉRÉåÉNÉVÉáÉìÇ÷ÇÃÉnÉìÉhÉãÇéÊìæÇµÅAägí£ 'PAPA'
Ç©ÇÁÉ^ÉOÇÃílÇÉRÉåÉNÉVÉáÉìÇ…ÉRÉsÅ[ǵNjÇ∑ÅBÉNÉâÉCÉAÉìÉgÇÕDZÇÃÉ^ÉOÇÃílÇÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇ≈óÒãìÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsCollectionToPapa()
ÇÕÉRÉåÉNÉVÉáÉìÇ©ÇÁÉ^ÉOÇéÊÇËèoǵÅAägí£ 'PAPA'
ÉåÉRÅ[ÉhÇ…ÉRÉsÅ[ǵNjÇ∑ÅBä˘ë∂ÇÃÉ^ÉOÇÕÇ∑Ç◊ǃíuÇ´ä∑ǶNjÇ∑ÅB
OSStatus psPapaToCollection(Handle
papaH, Collection coll);
psPapaToCollection() ÇÕÅA'PAPA' ÉåÉRÅ[ÉhÇ÷ÇÃÉnÉìÉhÉã
papaH ÇΔÉRÉåÉNÉVÉáÉì coll ÇéÛÇØéÊÇËÅA'PAPA' É^ÉOÇéùÇøÅAID
Ç™ägí£ 'PAPA'
ÉåÉRÅ[Éhì‡ÇÃÉ^ÉOÇ≈džÇÈàÍòAÇÃÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇ coll
ì‡Ç…çÏê¨ÇµÇ‹Ç∑ÅBó·Ç¶ÇŒÅAägí£ 'PAPA' ÉåÉRÅ[Éh papaH Ç… TCP
É^ÉCÉvÇÃÉ^ÉOǙdžÇÈÇΔÅAǪÇÃÉ^ÉOÇÃÉfÅ[É^ÇÉ^ÉOÇÕ 'PAPA'ÅAID ÇÕ
TCP ÇΔǵǃ coll Ç…ÉRÉsÅ[ǵNjÇ∑ÅB
OSStatus
psCollectionToPapa(Collection coll, Handle
papaH);
DZÇÃÉãÅ[É`ÉìÇÕÅAÉRÉåÉNÉVÉáÉì coll ÇéÛÇØéÊÇËÅA'PAPA'
É^ÉOÇéùǬÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇóÒãìǵÅAÉnÉìÉhÉã papaH
ÇÃéwÇ∑ägí£ 'PAPA'
ÉåÉRÅ[ÉhÇ…í«â¡ÇµÇ‹Ç∑ÅBÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇà ID ÇÕ 'PAPA'
ì‡ÇÃÉ^ÉOÇ…Ç»ÇËÇ‹Ç∑ÅBpapaH ÇÃéwÇ∑ 'PAPA'
ÉåÉRÅ[Éhì‡ÇÃä˘ë∂ÇÃÉ^ÉOÇÕÇ∑Ç◊ǃíuÇ´ä∑ǶÇÁÇÍÇ‹Ç∑ÅBëSïîÇÃÉ^ÉOÇ™é˚Ç‹ÇÁǻǢÇΔÅAÉGÉâÅ[
errNoRoomInPapa (-8941)
Ç™ï‘Ç≥ÇÍÇ‹Ç∑ÅBëSïîÇÃÉ^ÉOÇ™é˚Ç‹ÇÈèÍçáÇÕ 'PAPA'
Ç…í«â¡Ç≥ÇÍÇ‹Ç∑ÅB
Å@
psGetDTPType
ÉNÉâÉCÉAÉìÉgÇ™ägí£ 'PAPA'
ÇéÊìæçœÇ›ÇÃèÍçáÅApsGetDTPType() Ç≈ 'PAPA'
Ç™ãLèqÇ∑ÇÈÉvÉäÉìÉ^ÇÃÉ^ÉCÉvÇí≤Ç◊ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
psGetDTPType() ä÷êîÇégǡǃÅA'PAPA'
ÉnÉìÉhÉãÇ™ãLèqÇ∑ÇÈÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ (DTP) ÇÕÅAéüÇÃ
DTPType ÇÃÇ¢Ç∏ÇÍǩDžï™ófiÇ≥ÇÍÇ‹Ç∑ÅB
Å@
typedef enum{
kInvalidDTP = 0, // ñ≥å¯Ç» DTP É^ÉCÉv
kHoldDTP = '=Hld', // ï€óØ DTP Ç©ÇÁÉvÉäÉìÉgÉLÉÖÅ[Ç…ÉXÉvÅ[ÉãÇ≥ÇÍÇΩÉWÉáÉuÇÕ
// èÌÇ…ï€óØÇ…Ç»ÇÈ
kFileDTP = '=Fil', // ÅuÉtÉ@ÉCÉãÇ…ï€ë∂Åvê›íËÇà DTP ÇÕàÛç¸Ç≥ÇÍǻǢÅB
// PS/PDF ÉtÉ@ÉCÉãÇ™çÏê¨Ç≥ÇÍÇÈÇæÇØÅB
kLprDTP = '=LPR', // LPR ÉvÉäÉìÉ^ÇÕ TCP ÇâÓǵǃ LPR ÉXÉvÅ[ÉâÅ^ÉvÉäÉìÉ^Ç…
// ëóÇÁÇÍÇÈ
kCustomDTP = '=Cst', // ÉJÉXÉ^ÉÄ DTP ÇÕ PostScript ÇÃå„èàóùÇÃÇΩÇfl
// ÉAÉvÉäÉPÅ[ÉVÉáÉìÇãNìÆÇ∑ÇÈ
kPapaDTP = 'PAP ', // AppleTalk PAP ÉlÉbÉgÉèÅ[ÉNÉvÉäÉìÉ^
kInfraRedDTP = '=Ird' // ê‘äOê¸ÉäÉìÉNÇ≈ê⁄ë±Ç≥ÇÍÇΩÉvÉäÉìÉ^
} DTPType;
Å@
OSStatus psGetDTPType(Handle papaH,
DTPType *dtpTypeP);
DZÇÃÉãÅ[É`ÉìÇÕÅAóLå¯Ç» 'PAPA' ÉnÉìÉhÉã papaH
Ç™éwíËÇ≥ÇÍÇÈÇΔ DTP É^ÉCÉvÇ *dtpTypeP
Ç…ê›íËǵNjÇ∑ÅBÉGÉâÅ[Ç™î≠ê∂Ç∑ÇÈÇΔÉGÉâÅ[ílÇï‘ǵÅA*dtpTypeP Ç
kInvalidDTP Ç…ê›íËǵNjÇ∑ÅB
Å@
psIsValidPapaHandle
psIsValidPapaHandle()
ÇÕÅAÉfÉoÉbÉOéûÇ…ï÷óòǻLJÇÃÇ≈ÅA'PAPA'
ÉnÉìÉhÉãÇ™óLå¯Ç©Ç«Ç§Ç©í≤Ç◊Ç‹Ç∑ÅB'PAPA'
Ç™ñ≥å¯ÇæÇΔévÇÌÇÍÇÈèÍçáÇÕ false Çï‘ǵNjÇ∑ÅB
Boolean psIsValidPapaHandle(Handle
papaH);
papaH Ç™óLå¯Ç» 'PAPA' ÉnÉìÉhÉãÇ…évÇÌÇÍÇÈèÍçáÇÕ true
Çï‘ǵNjÇ∑ÅB
Å@
óvñÒ
ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃÉAÉNÉZÉXè’ìÀÇîÇØÇÈÇΩÇflÇ…ÅALaserWriter
8
ÉhÉâÉCÉoÇÃì¡íËïîï™Ç…ÉAÉNÉZÉXÇ∑ÇÈïKóvǙdžÇÈÉfÉxÉçÉbÉpÇÕÅAïKÇ∏DZDZÇ≈ê‡ñæÇµÇΩÉvÉäÉìÉ^ê›íËÉâÉCÉuÉâÉä
(SettingsLib) ÇégópÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅB
Å@
éQçlï∂å£
Å@
íç1 SettingsLib
Ç…ÇÕâeãøÇó^ǶǻǢLJÇÃÇÃÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇ…ãNàˆÇ∑ÇÈ 'PAPA'
ÇÃêßå¿Ç™Ç†ÇËÇ‹Ç∑ÅBì¡Ç…ÅuMultiFinder
FriendlyÅvÉrÉbÉgÇ…ëŒâûÇ∑ÇÈÇΩÇflÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÕì‡ïîÇÃ
'PAPA'
ÉäÉ\Å[ÉXÇÃÉTÉCÉYÇïœçXÇ≈Ç´Ç‹ÇπÇÒÅBǵÇΩǙǡǃÅAÉhÉâÉCÉoÇÃ
'PAPA' ÇÕå≈íËÉTÉCÉYÇ≈Ç∑ÅB
Å@
íç2 psGetPrefsIndName()
Ç™ï‘Ç∑ílÇ…ÇÕÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgñºÇ™î≤ÇØÇƒÇ¢Ç‹Ç∑ÅBåªç›ÅAÇ∑Ç◊ǃÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉGÉìÉgÉäÇÃÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgñºÇÕ
"LaserWriter"
Ç≈Ç∑ÅBè´óàDZÇÃêßñÒÇâåàÇ∑ÇÈêVǵǢÉãÅ[É`ÉìÇ™í«â¡Ç≥ÇÍÇÈó\íËÇ≈Ç∑ÅB
|